3D scanning captures physical geometry information for a three-dimensional object by gathering high resolution points representing the shape of the scanned three-dimensional object. Once captured, the raw 3D scan data may be converted to a CAD part model for further processing to replicate or modify the design of the three-dimensional object. This procedure of capturing 3D scan data for a three-dimensional object in order to provide it to a CAD application so that the object may be redesigned is referred to as reverse engineering.
When points are measured using 3D scanners or digitizers, the base coordinate system from which coordinates of all measured points are referred is located and oriented in the measuring device. Manufacturers set the specification for the coordinate system and accordingly there is no accepted industry standard for the coordinate system, mainly because of the diversity of device configurations. In the case of CMMs (Coordinate Measuring Machines), the movement of the probe is rectilinear and end users know how to position and orient the part to be measured on the CMM table so that the measuring coordinate information is easily traceable. It is a common practice when using a CMM to set up coordinate system parameters before the actual measuring begins.
For 3D scanning, the method of capturing points is somewhat different from other types of measurement systems and presents additional challenges. 3D scanning devices are portable and accordingly the devices include the ability to change the measuring coordinate system during the scanning of an object. The object to be scanned is also often repositioned (e.g. turning the target object over to capture bottom geometry). In some applications, 3D scanning systems recognize target apparatus that are attached on the object to trace the repositioning and reorientation of the 3D scanner or the object. The result of the movement of the scanner and the object during the scanning process is a set of arbitrarily oriented 3D points or mesh data in 3D space. When end users need to design CAD models replicating 3D scan data, figuring out an appropriate coordinate system as a global coordinate reference throughout the modeling is the first and foremost step. It is not a simple process to define such a global coordinate system by manually searching for geometrical clues in 3D scan data (because of the variables in the process discussed above). The definition of a global coordinate system requires iterative trial and error that is both time-consuming and error-prone.
One important metric by which to judge the appropriateness of a defined global coordinate system is the amount of global deviation error to which the system can lead. Global deviation error is the distance disparity between raw 3D scan data and a remodeled CAD model. Once a global coordinate reference frame is set up, modeling features such as extrusions, revolving, loftings, or sweepings will usually refer to the global coordinate system. Slightly different global coordinate systems can bring forth significant deviation error difference. Conventional techniques allow end users to control modeling parameters in order to minimize the deviation error feature by feature. However, to minimize the total sum of deviation error while also minimizing the peak error is quite challenging. The coordinate system is used to create CAD features (such as extrusions using a coordinate system axis) which are compared to the scan data to determine deviation. The peak deviation refers to the maximum deviation point or region of the mesh, whereas the average deviation is an ensemble average of all points or regions of the mesh. It would be desirable to have an automated mechanism to define a global coordinate system that is able to minimize the total sum of deviation error while also minimizing the peak error for raw 3D scan data.